+2005-12-12 Matthias Clasen <mclasen@redhat.com>
+
+ Make the gtk-color-scheme setting work.
+
+ * gtk/gtksettings.h:
+ * gtk/gtksettings.c (_gtk_settings_get_color_hash): Add a getter
+ that takes care of initializing the color hash if it is not
+ already there.
+
+ * gtk/gtkrc.c (gtk_rc_color_scheme_changed, gtk_rc_context_get):
+ And use it here.
+
2005-12-10 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk.c (gdk_parse_args): Warn if parsing fails,
+2005-12-12 Matthias Clasen <mclasen@redhat.com>
+
+ Make the gtk-color-scheme setting work.
+
+ * gtk/gtksettings.h:
+ * gtk/gtksettings.c (_gtk_settings_get_color_hash): Add a getter
+ that takes care of initializing the color hash if it is not
+ already there.
+
+ * gtk/gtkrc.c (gtk_rc_color_scheme_changed, gtk_rc_context_get):
+ And use it here.
+
2005-12-10 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk.c (gdk_parse_args): Warn if parsing fails,
if (context->color_hash)
g_hash_table_unref (context->color_hash);
- context->color_hash = g_object_get_data (G_OBJECT (settings),
- "gtk-color-scheme");
+ context->color_hash = _gtk_settings_get_color_hash (settings);
if (context->color_hash)
g_hash_table_ref (context->color_hash);
"gtk-color-scheme", &context->colors,
NULL);
- context->color_hash = g_object_get_data (G_OBJECT (settings),
- "gtk-color-scheme");
+ context->color_hash = _gtk_settings_get_color_hash (settings);
if (context->color_hash)
g_hash_table_ref (context->color_hash);
while (*p == ' ')
p++;
- s = strchr (p, '\n');
- if (s)
- {
- *s = '\0';
- s++;
- }
+ s = p;
+ while (*s)
+ {
+ if (*s == '\n')
+ {
+ *s = '\0';
+ s++;
+ break;
+ }
+ s++;
+ }
if (!gdk_color_parse (p, &color))
{
g_free (colors);
}
+GHashTable *
+_gtk_settings_get_color_hash (GtkSettings *settings)
+{
+ if (g_object_get_data (G_OBJECT (settings),
+ "gtk-color-scheme") == NULL)
+ settings_update_color_scheme (settings);
+
+ return (GHashTable *) g_object_get_data (G_OBJECT (settings),
+ "gtk-color-scheme");
+}
+
+
#define __GTK_SETTINGS_C__
#include "gtkaliasdef.c"
const GValue *src_value,
GParamSpec *pspec,
GValue *dest_value);
+GHashTable* _gtk_settings_get_color_hash (GtkSettings *settings);
G_END_DECLS